package org.jetbrains.debugger;

import com.intellij.openapi.util.ActionCallback;
import com.intellij.openapi.util.AsyncResult;
import com.intellij.util.CommonProcessors.FindProcessor;
import com.intellij.util.Processor;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.debugger.values.FunctionValue;

public abstract interface ScriptManager
{
  public static final String VM_SCHEME = "vm";
  
  @NotNull
  public abstract AsyncResult<String> getSource(@NotNull Script paramScript);
  
  public abstract boolean hasSource(Script paramScript);
  
  public abstract boolean containsScript(Script paramScript);
  
  public abstract AsyncResult<?> setSourceOnRemote(@NotNull Script paramScript, @NotNull String paramString, boolean paramBoolean);
  
  public abstract void forEachScript(@NotNull Processor<Script> paramProcessor);
  
  @Nullable
  public abstract Script forEachScript(@NotNull CommonProcessors.FindProcessor<Script> paramFindProcessor);
  
  @NotNull
  public abstract AsyncResult<Script> getScript(@NotNull FunctionValue paramFunctionValue);
  
  @Nullable("if call frame script is native (at least in Google Chrome)")
  public abstract Script getScript(@NotNull CallFrame paramCallFrame);
  
  @Nullable
  public abstract Script findScriptByUrl(@NotNull String paramString);
  
  @Nullable
  public abstract ActionCallback getScriptSourceMapLoadCallback(@NotNull Script paramScript);
}


/* Location:           E:\idea\
 * Qualified Name:     org.jetbrains.debugger.ScriptManager
 * JD-Core Version:    0.7.0.1
 */